<?php  
/** 
* Requests add page (Controller) 
* Страничка добавления заявок (контроллер) 
* @author IT studio IRBIS-team 
* @copyright © 2009 IRBIS-team 
*/
/////////////////////////////////////////////////////////

/**
* Generation of page of an error at access out of system
* Генерация страницы ошибки при доступе вне системы
*/
    if(!defined('IRB_KEY'))
    {
       header("HTTP/1.1 404 Not Found");      
       exit(file_get_contents('../../404.html'));
    } 
//////////////////////////////////////////////////////////

/**
* We connect a file of the MySQL functions
* Подключаем файл функций MySQL
*/  
   include './libs/mysql.php';
   $POST = htmlChars($POST);	   
/** 
* The data recording block 
* Блок записи информации 
*/ 
	if($ok)
		{
		if(!empty($POST['value2'])) 
			{
				$r_title = "'".$POST['value2']."'";
				$owner_id = (int)$_SESSION['user_data']['id'];
				$text = !empty($POST['value3'])?"'". $POST['value3'] ."'":NULL;
				$type = !empty($POST['value4'])?$POST['value4']:1;
				
				if(!empty($POST['value5']))
					{
					if(preg_match('/^\d{4}-\d{2}-\d{2}$/',$POST['value5']))
						{
						$target_date = "'". $POST['value5'] ."'";
						$info[] = "Всё верно";
						}
					else
						{
						$info[] = "Неверный формат даты";
						$target_date = '0000-00-00';
						}
					}
				else
					{
					$info[] = "Пустое поле даты";
					$target_date = '0000-00-00';
					}
				
				
			mysqlQuery("INSERT INTO `". IRB_DBPREFIX ."requests` (title,text,owner,type,target_date,create_date)
			        VALUES (". $r_title .",". $text .",". $owner_id . ",". $type .",". $target_date .", NOW() )");
			
	         if(mysql_affected_rows() > 0)
				{
			     $info[] = "Успешно создали заявку";
				 $new_request_id = mysql_insert_id();
				 
				 $message = "<html>
				 <header>
				 </header>
				 <body>
					<p>В вашем домене " . date("d.m.y H:i") . " " . $_SESSION['user_data']['surname'] . " " . $_SESSION['user_data']['name'] . " создал заявку с заголовком " . $r_title . " и следующим текстом:</p>
					<p>" . $text . "</p>
					<p>Просмотреть заявку можно по этой <a href=\"http://socdomen.ru/?page=requests&rem=request&view=default&id=" . $new_request_id . "\">ссылке</a></p>
				 </body>
				 </html>";
				 

/**
* Connect request to domains
* Прикрепляем заявку к доменам
*/  
		 
				if($POST['value6'] == 'on') 
					{
						$user_av_domains = getDomsOfUser((int)$_SESSION['user_data']['id'], 10);
						
						foreach($user_av_domains as $uad_key => $uad)
							{
							mysqlQuery("INSERT INTO `". IRB_DBPREFIX ."requests_link_dom_user`
										SET request_id = '". $new_request_id ."',
											dom_id = '". $uad['d_id'] ."',
											user_id = '". (int)$_SESSION['user_data']['id'] ."'
									");
							if(mysql_affected_rows() > 0)
								{
								$info[] = "Заявка закреплена в домене ". $uad['d_caption'] .", за Вами.";
								}
							
							sendEmailToDomain($message, $uad['d_id']);
							}
					}
				else
					{
						if(!empty($POST['value7']))
							{
							mysqlQuery("INSERT INTO `". IRB_DBPREFIX ."requests_link_dom_user`
										SET request_id = '". $new_request_id ."',
											dom_id = '". (int)$POST['value7'] ."',
											user_id = '". (int)$_SESSION['user_data']['id'] ."'
									");
							if(mysql_affected_rows() > 0)
								{
								$info[] = "Заявка закреплена в домене, за Вами.";
								}
							
							sendEmailToDomain($message, (int)$POST['value7']);
							}
					}
				}
			}
		else
			{
				$info[]="Нельзя создать заявку без заголовка";
			}
		}
		
/** 
* The data reading block 
* Блок чтения информации 
*/ 	

	$query = mysqlQuery("SELECT * FROM `". IRB_DBPREFIX ."requests_types`");
	
	if(mysql_num_rows($query)>0)
		{
		while($rt_row = mysql_fetch_assoc($query))
			$rt_array[] = $rt_row;
		}
		
	$available_domains = getDomsOfUser((int)$_SESSION['user_data']['id'],10);

	function sendEmailToDomain($message, $domain_id){
		include './libs/irb_mailer.php';	
		$mail = new IRB_Mailer($message);
		$mail -> createSubject("В Вашем домене была размещена заявка"); 
		$mail -> createFrom(IRB_SUPPORT_EMAIL, IRB_SUPPORT_EMAIL);  
  
		$addresses = getAddresses($domain_id);
		
		foreach ($addresses as $a_id => $a) {
		
			if ($_SESSION['user_data']['email'] !=  $a['email']) {
				$mail -> createTo($a['email']); 
				$mail -> setHtml(); 
				$error = $mail -> sendMail(); 
			}
		}		
	}
	
	function getAddresses($domain_id){	
		
		$query = mysqlQuery("SELECT u.email FROM `". IRB_DBPREFIX ."user` u, `". IRB_DBPREFIX ."dom_link_user` dlu WHERE dlu.user_id = u.id AND dlu.domain_id = ".$domain_id."");
		
		if(mysql_num_rows($query)>0) {
			
			while($mail_row = mysql_fetch_assoc($query)) {
				$mail_array[] = $mail_row;
			}
		}
		
		return $mail_array;
	}
